package com.xtx.air.dao.flight;

import java.util.List;

import com.xtx.air.dataobject.FlightDO;
import com.xtx.air.dataobject.FlightStorageDO;

/**
 * 航班库存数据接口定义
 * 
 * @author lenic
 * @date 2012-02-28
 */
public interface IFlightStorageDAO {

	/**
	 * 添加库存信息
	 * 
	 * @param flightStorageDO
	 */
	void addStorage(FlightStorageDO flightStorageDO);

	/**
	 * 更新库存信息(用于更新航班、折扣率、时间和舱位)<br/>
	 * 更新库存数量请使用<br/>
	 * com.xtx.air.dao.flight.IFlightStorageDAO.subStorage(Long, String, String)<br/>
	 * com.xtx.air.dao.flight.IFlightStorageDAO.recoverStorage(Long, String,
	 * String)<br/>
	 * 
	 * @param flightStorageDO
	 */
	void updateStorage(FlightStorageDO flightStorageDO);

	/**
	 * 查询某一航班某天的库存信息列表
	 * 
	 * @param flightId航班
	 * @param boarding_date登机日期
	 * @return List<FlightStorageDO>价格升序排列
	 */
	List<FlightStorageDO> findStorage(FlightStorageDO flightStorageDO);

    /**
     * 根据库存创建者查询对应的航班
     * @param flightStorageDO
     * @return
     */
    List<FlightDO> findFlightIdByStorageCreator(FlightStorageDO flightStorageDO);

    /**
     * 删除某一航班下的全部库存
     * @param fid
     */
    void deleteStorageByFid(Long fid);
}